@风铃
3年前 提问
1个回答

如何使用 UDF 提升 Windows 权限

趣能一姐
3年前
官方采纳

提权方法过程如下:

  1. 获取数据库版本、数据位置及插件位置等信息。

  2. 导出路径。

    如果是MySQL 5.1及以上版本,必须要把udf.dll文件放到MySQL安装目录的libplugin文件夹下才能创建自定义函数。该目录默认是不存在的,需要使用WebShell找到MySQL的安装目录,并在安装目录下创建libplugin文件夹,然后将udf.dll文件导出到该目录。

    在某些情况下,我们会遇到提示Can't open shared library的情况,这时需要把udf.dll导出到libplugin目录下。网上有“大牛”发现了利用NTFS ADS流来创建文件夹的方法,具体如下。

    执行成功以后就会创建plugin目录,然后再导出udf.dll即可。

  3. 创建CMDShell函数。

    该函数叫什么名字,就在后面使用该名字进行查询,示例如下。

  4. 执行命令。

    一般情况下不会出现创建不成功的情况。

    如果连不上3389端口,可以先停止Windows防火墙和筛选功能,命令如下。

    udf.dll的常见函数列举如下。

    • Cmdshell:执行cmd命令。

    • Downloader:下载者,到网上下载指定文件并保存到指定目录下。

    • open3389:开启3389终端服务,可指定端口(不改端口则无须重启)。

    • backshell:反弹Shell。

    • ProcessView:枚举系统进程。

    • KillProcess:终止指定进程。

    • Regread:读注册表。

    • Regwrite:写注册表。

    • Shut:关机,注销,重启。

    • About:说明与帮助函数。

    函数示例如下。

  5. 清除痕迹。

    删除udf.dll文件及其他相关入侵文件及日志,命令如下。

  6. 常见错误。

    在my.ini或者mysql.cnf文件中注销(使用“#”)包含“secure_file_priv”的行,命令如下。

    option需要将my.ini中的“skip-grant-tables”选项去掉,命令如下。